package com.franklin.java.api.mybatis.dom.model.nested;

import com.intellij.util.xml.*;
import org.jetbrains.annotations.NotNull;

import java.util.List;

/**
 * Include标签
 * @author Franklin
 * @since 2021/08/20 23:16
 */
public interface Include extends Nested {

    @Required
    @NameValue
    @NotNull
    @Attribute("refid")
    GenericAttributeValue<String> getRefId();

    @SubTagList("property")
    List<Property> getProperties();


    /**
     * 属性
     */
    interface Property extends DomElement{

        @Required
        @NameValue
        @NotNull
        @Attribute("name")
        GenericAttributeValue<String> getName();

        @Required
        @NameValue
        @NotNull
        @Attribute("value")
        GenericAttributeValue<String> getValue();

    }
}
